package com.nanhai.buddhist.college.module.collegebase.dal.dataobject.accommodationreside;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.*;

import com.baomidou.mybatisplus.annotation.*;
import com.nanhai.buddhist.college.framework.mybatis.core.dataobject.BaseDO;

import javax.validation.constraints.NotNull;

/**
 * 入住记录 DO
 *
 * @author 南海佛学院
 */
@TableName("t_accommodation_reside")
@KeySequence("t_accommodation_reside_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AccommodationResideDO extends BaseDO {

    /**
     * 主键id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 入住人id
     */
    private String resideId;
    /**
     * 入住角色（角色+id 联合确立关系）
     * <p>
     * 枚举 {@link TODO accommodation_room_type 对应的类}
     */
    private Integer role;
    /**
     * 入住人昵称
     */
    private String resideName;
    /**
     * 入住备注
     */
    private String resideRemark;
    /**
     * 床铺id
     */
    private String bedId;
    /**
     * 学院id
     */
    private String collegeId;
    /**
     * 机构编号
     */
    private Integer orgId;
    /**
     * 备注
     */
    private String remark;

    /**
     * 入住状态
     */
    private Integer resideStatus;

    //----------------------分割线---------------

    /**
     * 系部id
     */
    @TableField(exist = false)
    private String departmentId;

    /**
     * 房间id
     */
    @TableField(exist = false)
    private String roomId;

    /**
     * 房间昵称
     */
    @TableField(exist = false)
    private String roomName;

    /**
     * 学院名称
     */
    @TableField(exist = false)
    private String collegeName;

    /**
     * 系部昵称
     */
    @TableField(exist = false)
    private String departmentName;

    /**
     * 床铺昵称
     */
    @TableField(exist = false)
    private String bedName;


    /**
     * 联系方式
     */
    @TableField(exist = false)
    private String residePhone;



}
